package com.tuda.system.mapper;

import java.util.List;
import com.tuda.system.domain.TudaOrderRecord;
import com.tuda.system.model.result.OrderRecordResult;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

/**
 * 运单操作记录Mapper接口
 * 
 * @author tuda
 * @date 2023-10-12
 */
 public interface TudaOrderRecordMapper
{


    @Select("SELECT SUM(income_amount) sumIncomeAmount, SUM(expenditure_amount) sumExpenditureAmount FROM tuda_order_record WHERE is_delete=0")
    TudaOrderRecord querySum();

    @Update("UPDATE tuda_order_record SET is_delete=#{type} WHERE order_id=#{orderId}")
    int updateRecordType(@Param("orderId") Long orderId, @Param("type") Integer type);
    List<OrderRecordResult> selectOrderRecordList(OrderRecordResult recordResult);

    /**
     * 查询运单操作记录
     * 
     * @param id 运单操作记录主键
     * @return 运单操作记录
     */
     TudaOrderRecord selectTudaOrderRecordById(Long id);

    /**
     * 查询运单操作记录列表
     * 
     * @param tudaOrderRecord 运单操作记录
     * @return 运单操作记录集合
     */
     List<TudaOrderRecord> selectTudaOrderRecordList(TudaOrderRecord tudaOrderRecord);

    /**
     * 新增运单操作记录
     * 
     * @param tudaOrderRecord 运单操作记录
     * @return 结果
     */
     int insertTudaOrderRecord(TudaOrderRecord tudaOrderRecord);

    /**
     * 修改运单操作记录
     * 
     * @param tudaOrderRecord 运单操作记录
     * @return 结果
     */
     int updateTudaOrderRecord(TudaOrderRecord tudaOrderRecord);

    /**
     * 删除运单操作记录
     * 
     * @param id 运单操作记录主键
     * @return 结果
     */
     int deleteTudaOrderRecordById(Long id);

    /**
     * 批量删除运单操作记录
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
     int deleteTudaOrderRecordByIds(String[] ids);
}
